Zuordnungslösungen formatieren

[Dies ist ein Fallbeispiel, das in einem separaten Fenster angezeigt wird. So können Sie das Beispiel und ein beliebiges anderes Hilfethema gleichzeitig betrachten. Das Fenster des Fallbeispiels lässt sich verschieben, in seiner Grösse ändern und über das Schliessfeld verlassen]

1. Benutzersicht

Die folgenden Befehlsschaltflächen des Formulars 1. Test ausgeben geben die folgenden Varianten des Berichts RptTestlösung auf dem Bildschirm oder Drucker aus:

Die Formatierung dieser Berichte stellt ein Problem, das wir an den folgenden Bildschirmausschnitten zeigen. Der erste Ausschnitt betrifft das Eingabeformular Zuordnungstext der Aufgabe ... und der zweite Ausschnitt zeigt den entsprechenden Ausschnitt des Berichts RptTestlösung:

Bild 1: Eingabeformular einer Zuordnungsaufgabe

Bild 2: Berichtsversion der Zuordungsaufgabe von Bild 1  (Die m:n-Verbindung ist blau unterstrichen)

Das Eingabeformular von Bild 1 stellt die Zuordnungslösungen relational - das heisst ohne Wiederholungsgruppen - dar. Zu jedem Zahlenpräfix gehört nur ein einziges Buchstabenpräfix. Eine Wiederholungsgruppe "AC" wie in der Berichtsversion ist nicht erlaubt. Die Aussage "Die Zahlenalternative 1 gehört zu den Buchstabenpräfices A und C" kann nur auf zwei Zeilen, nämlich "1 A" und "1 C", eingegeben werden. 

Der Bericht stellt hingegen die m:n- Beziehung zwischen Zahlen- und Buchstabenpräfices direkt dar - zum Beispiel als "1 AC". Der Grund liegt darin, dass die Lösungsvorlage eines schriftlichen Tests - mit Ausnahme der roten Farbe der Buchstabenpräfices - gleich aussehen muss wie das Aufgabenblatt der TestteilnehmerInnen. Nur so können Sie den Test korrigieren, indem Sie die Musterlösung auf Folien ausgeben und über die studentische Lösung legen (vgl. Tests korrigieren).

2. Entwicklersicht

Damit der Bericht eine m:n-Beziehung zwischen Zahlen- und Buchstabenpräfices darstellen kann, entwickeln wir eine Ereignisprozedur Report_Open, die beim Öffnen des Berichts (bevor der Bericht angezeigt oder gedruckt wird) eine temporäre Tabelle TmpBUCHSTABENPRÄFICES mit den folgenden Feldern erstellt: 

Die Tabelle besteht nur so lange, bis der Bericht RptTestlösung neu aufgerufen wird. Der folgende Entwurscode fasst den VBA-Code der Ereignisprozedur Report_Open zusammen. Sie können den VBA-Code inspizieren, wenn Sie im Datenbankfenster (»F11) auf die Schaltfläche Berichte klicken, den Bericht RptLösung in der Entwurfsansicht öffnen und aus der Eigenschaftenliste (»Alt/Enter) zur Ereignisprozedur Report_Open verzweigen.

Ereignisprozedur Report_Open
  Lösche die letzte Version von TmpBUCHSTABENPRÄFICES

  Definiere TmpBUCHSTABENPRÄFICES
    Fragenschlüssel
    Zahlenpräfix
    TmpBuchstabenpräfices

  Erstelle eine Abfrage aus ...
    den Zuordnungs-Aufgaben des gewählten Testtermins mit den Feldern ...
    Fragenschlüssel, Fragenschlüssel, Zahlenpräfix, Buchstabenpräfix

  Bis Ergebnistabelle der Abfrage fertig
    Konkateniere für jede Gruppe gleicher Zahlenpräfices 
      die Buchstabenpräfices zu KonkatBuchstabenpräfices
      (Zum Beispiel ergibt A & C das Ergebnis AC für das Zahlenpräfix 1)
    Füge den Gruppensatz mit ... 
      Fragenschlüssel, Zahlenpräfix, KonkatBuchstabenpräfices an TmpBUCHSTABENPRÄFICES

 

Die entsprechende VBA-Prozedur Report_Open ist vor allem aus den folgenden Gründen länger und komplexer als der Entwurfscode:


Datenbankstrukturdiagramme